/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package EA_Model.IEC61970.Wires;

import EA_Model.IEC61970.Domain.ActivePower;
import EA_Model.IEC61970.Domain.ApparentPower;
import EA_Model.IEC61970.Domain.Damping;
import EA_Model.IEC61970.Domain.PU;
import EA_Model.IEC61970.Domain.PerCent;
import EA_Model.IEC61970.Domain.Reactance;
import EA_Model.IEC61970.Domain.ReactivePower;
import EA_Model.IEC61970.Domain.Resistance;
import EA_Model.IEC61970.Domain.Seconds;
import EA_Model.IEC61970.Domain.Voltage;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Synchronous Machine</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getAVRToManualLag <em>AVR To Manual Lag</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getAVRToManualLead <em>AVR To Manual Lead</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getBaseQ <em>Base Q</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCondenserP <em>Condenser P</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCoolantCondition <em>Coolant Condition</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCoolantType <em>Coolant Type</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getDamping <em>Damping</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getInertia <em>Inertia</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getManualToAVR <em>Manual To AVR</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMaxQ <em>Max Q</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMaxU <em>Max U</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMinQ <em>Min Q</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMinU <em>Min U</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getOperatingMode <em>Operating Mode</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getQPercent <em>QPercent</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR <em>R</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR0 <em>R0</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR2 <em>R2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getRatedS <em>Rated S</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getReferencePriority <em>Reference Priority</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getType <em>Type</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX <em>X</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX0 <em>X0</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX2 <em>X2</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectSubtrans <em>XDirect Subtrans</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectSync <em>XDirect Sync</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectTrans <em>XDirect Trans</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadSubtrans <em>XQuad Subtrans</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadSync <em>XQuad Sync</em>}</li>
 *   <li>{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadTrans <em>XQuad Trans</em>}</li>
 * </ul>
 * </p>
 *
 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine()
 * @model
 * @generated
 */
public interface SynchronousMachine extends RegulatingCondEq {
	/**
	 * Returns the value of the '<em><b>AVR To Manual Lag</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>AVR To Manual Lag</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>AVR To Manual Lag</em>' reference.
	 * @see #setAVRToManualLag(Seconds)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_AVRToManualLag()
	 * @model ordered="false"
	 * @generated
	 */
	Seconds getAVRToManualLag();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getAVRToManualLag <em>AVR To Manual Lag</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>AVR To Manual Lag</em>' reference.
	 * @see #getAVRToManualLag()
	 * @generated
	 */
	void setAVRToManualLag(Seconds value);

	/**
	 * Returns the value of the '<em><b>AVR To Manual Lead</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>AVR To Manual Lead</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>AVR To Manual Lead</em>' reference.
	 * @see #setAVRToManualLead(Seconds)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_AVRToManualLead()
	 * @model ordered="false"
	 * @generated
	 */
	Seconds getAVRToManualLead();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getAVRToManualLead <em>AVR To Manual Lead</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>AVR To Manual Lead</em>' reference.
	 * @see #getAVRToManualLead()
	 * @generated
	 */
	void setAVRToManualLead(Seconds value);

	/**
	 * Returns the value of the '<em><b>Base Q</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Base Q</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Base Q</em>' reference.
	 * @see #setBaseQ(ReactivePower)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_BaseQ()
	 * @model ordered="false"
	 * @generated
	 */
	ReactivePower getBaseQ();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getBaseQ <em>Base Q</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Base Q</em>' reference.
	 * @see #getBaseQ()
	 * @generated
	 */
	void setBaseQ(ReactivePower value);

	/**
	 * Returns the value of the '<em><b>Condenser P</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Condenser P</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Condenser P</em>' reference.
	 * @see #setCondenserP(ActivePower)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_CondenserP()
	 * @model ordered="false"
	 * @generated
	 */
	ActivePower getCondenserP();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCondenserP <em>Condenser P</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Condenser P</em>' reference.
	 * @see #getCondenserP()
	 * @generated
	 */
	void setCondenserP(ActivePower value);

	/**
	 * Returns the value of the '<em><b>Coolant Condition</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Coolant Condition</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Coolant Condition</em>' reference.
	 * @see #setCoolantCondition(EA_Model.IEC61970.Domain.Float)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_CoolantCondition()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Float getCoolantCondition();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCoolantCondition <em>Coolant Condition</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Coolant Condition</em>' reference.
	 * @see #getCoolantCondition()
	 * @generated
	 */
	void setCoolantCondition(EA_Model.IEC61970.Domain.Float value);

	/**
	 * Returns the value of the '<em><b>Coolant Type</b></em>' attribute.
	 * The literals are from the enumeration {@link EA_Model.IEC61970.Wires.CoolantType}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Coolant Type</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Coolant Type</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.CoolantType
	 * @see #setCoolantType(CoolantType)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_CoolantType()
	 * @model ordered="false"
	 * @generated
	 */
	CoolantType getCoolantType();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getCoolantType <em>Coolant Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Coolant Type</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.CoolantType
	 * @see #getCoolantType()
	 * @generated
	 */
	void setCoolantType(CoolantType value);

	/**
	 * Returns the value of the '<em><b>Damping</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Damping</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Damping</em>' reference.
	 * @see #setDamping(Damping)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_Damping()
	 * @model ordered="false"
	 * @generated
	 */
	Damping getDamping();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getDamping <em>Damping</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Damping</em>' reference.
	 * @see #getDamping()
	 * @generated
	 */
	void setDamping(Damping value);

	/**
	 * Returns the value of the '<em><b>Inertia</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Inertia</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Inertia</em>' reference.
	 * @see #setInertia(PU)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_Inertia()
	 * @model ordered="false"
	 * @generated
	 */
	PU getInertia();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getInertia <em>Inertia</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Inertia</em>' reference.
	 * @see #getInertia()
	 * @generated
	 */
	void setInertia(PU value);

	/**
	 * Returns the value of the '<em><b>Manual To AVR</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Manual To AVR</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Manual To AVR</em>' reference.
	 * @see #setManualToAVR(Seconds)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_ManualToAVR()
	 * @model ordered="false"
	 * @generated
	 */
	Seconds getManualToAVR();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getManualToAVR <em>Manual To AVR</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Manual To AVR</em>' reference.
	 * @see #getManualToAVR()
	 * @generated
	 */
	void setManualToAVR(Seconds value);

	/**
	 * Returns the value of the '<em><b>Max Q</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Max Q</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Max Q</em>' reference.
	 * @see #setMaxQ(ReactivePower)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_MaxQ()
	 * @model ordered="false"
	 * @generated
	 */
	ReactivePower getMaxQ();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMaxQ <em>Max Q</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Max Q</em>' reference.
	 * @see #getMaxQ()
	 * @generated
	 */
	void setMaxQ(ReactivePower value);

	/**
	 * Returns the value of the '<em><b>Max U</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Max U</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Max U</em>' reference.
	 * @see #setMaxU(Voltage)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_MaxU()
	 * @model ordered="false"
	 * @generated
	 */
	Voltage getMaxU();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMaxU <em>Max U</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Max U</em>' reference.
	 * @see #getMaxU()
	 * @generated
	 */
	void setMaxU(Voltage value);

	/**
	 * Returns the value of the '<em><b>Min Q</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Min Q</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Min Q</em>' reference.
	 * @see #setMinQ(ReactivePower)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_MinQ()
	 * @model ordered="false"
	 * @generated
	 */
	ReactivePower getMinQ();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMinQ <em>Min Q</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Min Q</em>' reference.
	 * @see #getMinQ()
	 * @generated
	 */
	void setMinQ(ReactivePower value);

	/**
	 * Returns the value of the '<em><b>Min U</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Min U</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Min U</em>' reference.
	 * @see #setMinU(Voltage)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_MinU()
	 * @model ordered="false"
	 * @generated
	 */
	Voltage getMinU();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getMinU <em>Min U</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Min U</em>' reference.
	 * @see #getMinU()
	 * @generated
	 */
	void setMinU(Voltage value);

	/**
	 * Returns the value of the '<em><b>Operating Mode</b></em>' attribute.
	 * The literals are from the enumeration {@link EA_Model.IEC61970.Wires.SynchronousMachineOperatingMode}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Operating Mode</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Operating Mode</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.SynchronousMachineOperatingMode
	 * @see #setOperatingMode(SynchronousMachineOperatingMode)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_OperatingMode()
	 * @model ordered="false"
	 * @generated
	 */
	SynchronousMachineOperatingMode getOperatingMode();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getOperatingMode <em>Operating Mode</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Operating Mode</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.SynchronousMachineOperatingMode
	 * @see #getOperatingMode()
	 * @generated
	 */
	void setOperatingMode(SynchronousMachineOperatingMode value);

	/**
	 * Returns the value of the '<em><b>QPercent</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>QPercent</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>QPercent</em>' reference.
	 * @see #setQPercent(PerCent)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_QPercent()
	 * @model ordered="false"
	 * @generated
	 */
	PerCent getQPercent();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getQPercent <em>QPercent</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>QPercent</em>' reference.
	 * @see #getQPercent()
	 * @generated
	 */
	void setQPercent(PerCent value);

	/**
	 * Returns the value of the '<em><b>R</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>R</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>R</em>' reference.
	 * @see #setR(Resistance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_R()
	 * @model ordered="false"
	 * @generated
	 */
	Resistance getR();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR <em>R</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>R</em>' reference.
	 * @see #getR()
	 * @generated
	 */
	void setR(Resistance value);

	/**
	 * Returns the value of the '<em><b>R0</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>R0</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>R0</em>' reference.
	 * @see #setR0(Resistance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_R0()
	 * @model ordered="false"
	 * @generated
	 */
	Resistance getR0();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR0 <em>R0</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>R0</em>' reference.
	 * @see #getR0()
	 * @generated
	 */
	void setR0(Resistance value);

	/**
	 * Returns the value of the '<em><b>R2</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>R2</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>R2</em>' reference.
	 * @see #setR2(Resistance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_R2()
	 * @model ordered="false"
	 * @generated
	 */
	Resistance getR2();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getR2 <em>R2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>R2</em>' reference.
	 * @see #getR2()
	 * @generated
	 */
	void setR2(Resistance value);

	/**
	 * Returns the value of the '<em><b>Rated S</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Rated S</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Rated S</em>' reference.
	 * @see #setRatedS(ApparentPower)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_RatedS()
	 * @model ordered="false"
	 * @generated
	 */
	ApparentPower getRatedS();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getRatedS <em>Rated S</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Rated S</em>' reference.
	 * @see #getRatedS()
	 * @generated
	 */
	void setRatedS(ApparentPower value);

	/**
	 * Returns the value of the '<em><b>Reference Priority</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Reference Priority</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Reference Priority</em>' reference.
	 * @see #setReferencePriority(EA_Model.IEC61970.Domain.Integer)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_ReferencePriority()
	 * @model ordered="false"
	 * @generated
	 */
	EA_Model.IEC61970.Domain.Integer getReferencePriority();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getReferencePriority <em>Reference Priority</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Reference Priority</em>' reference.
	 * @see #getReferencePriority()
	 * @generated
	 */
	void setReferencePriority(EA_Model.IEC61970.Domain.Integer value);

	/**
	 * Returns the value of the '<em><b>Type</b></em>' attribute.
	 * The literals are from the enumeration {@link EA_Model.IEC61970.Wires.SynchronousMachineType}.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Type</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Type</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.SynchronousMachineType
	 * @see #setType(SynchronousMachineType)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_Type()
	 * @model ordered="false"
	 * @generated
	 */
	SynchronousMachineType getType();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getType <em>Type</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Type</em>' attribute.
	 * @see EA_Model.IEC61970.Wires.SynchronousMachineType
	 * @see #getType()
	 * @generated
	 */
	void setType(SynchronousMachineType value);

	/**
	 * Returns the value of the '<em><b>X</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>X</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>X</em>' reference.
	 * @see #setX(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_X()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getX();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX <em>X</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>X</em>' reference.
	 * @see #getX()
	 * @generated
	 */
	void setX(Reactance value);

	/**
	 * Returns the value of the '<em><b>X0</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>X0</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>X0</em>' reference.
	 * @see #setX0(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_X0()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getX0();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX0 <em>X0</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>X0</em>' reference.
	 * @see #getX0()
	 * @generated
	 */
	void setX0(Reactance value);

	/**
	 * Returns the value of the '<em><b>X2</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>X2</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>X2</em>' reference.
	 * @see #setX2(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_X2()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getX2();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getX2 <em>X2</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>X2</em>' reference.
	 * @see #getX2()
	 * @generated
	 */
	void setX2(Reactance value);

	/**
	 * Returns the value of the '<em><b>XDirect Subtrans</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XDirect Subtrans</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XDirect Subtrans</em>' reference.
	 * @see #setXDirectSubtrans(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XDirectSubtrans()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXDirectSubtrans();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectSubtrans <em>XDirect Subtrans</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XDirect Subtrans</em>' reference.
	 * @see #getXDirectSubtrans()
	 * @generated
	 */
	void setXDirectSubtrans(Reactance value);

	/**
	 * Returns the value of the '<em><b>XDirect Sync</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XDirect Sync</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XDirect Sync</em>' reference.
	 * @see #setXDirectSync(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XDirectSync()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXDirectSync();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectSync <em>XDirect Sync</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XDirect Sync</em>' reference.
	 * @see #getXDirectSync()
	 * @generated
	 */
	void setXDirectSync(Reactance value);

	/**
	 * Returns the value of the '<em><b>XDirect Trans</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XDirect Trans</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XDirect Trans</em>' reference.
	 * @see #setXDirectTrans(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XDirectTrans()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXDirectTrans();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXDirectTrans <em>XDirect Trans</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XDirect Trans</em>' reference.
	 * @see #getXDirectTrans()
	 * @generated
	 */
	void setXDirectTrans(Reactance value);

	/**
	 * Returns the value of the '<em><b>XQuad Subtrans</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XQuad Subtrans</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XQuad Subtrans</em>' reference.
	 * @see #setXQuadSubtrans(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XQuadSubtrans()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXQuadSubtrans();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadSubtrans <em>XQuad Subtrans</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XQuad Subtrans</em>' reference.
	 * @see #getXQuadSubtrans()
	 * @generated
	 */
	void setXQuadSubtrans(Reactance value);

	/**
	 * Returns the value of the '<em><b>XQuad Sync</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XQuad Sync</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XQuad Sync</em>' reference.
	 * @see #setXQuadSync(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XQuadSync()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXQuadSync();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadSync <em>XQuad Sync</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XQuad Sync</em>' reference.
	 * @see #getXQuadSync()
	 * @generated
	 */
	void setXQuadSync(Reactance value);

	/**
	 * Returns the value of the '<em><b>XQuad Trans</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>XQuad Trans</em>' reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>XQuad Trans</em>' reference.
	 * @see #setXQuadTrans(Reactance)
	 * @see EA_Model.IEC61970.Wires.WiresPackage#getSynchronousMachine_XQuadTrans()
	 * @model ordered="false"
	 * @generated
	 */
	Reactance getXQuadTrans();

	/**
	 * Sets the value of the '{@link EA_Model.IEC61970.Wires.SynchronousMachine#getXQuadTrans <em>XQuad Trans</em>}' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>XQuad Trans</em>' reference.
	 * @see #getXQuadTrans()
	 * @generated
	 */
	void setXQuadTrans(Reactance value);

} // SynchronousMachine
